package it.vidoc.mybatis.sqlquery;

import it.vidoc.mybatis.javaclient.AnagraficheMapper;
import it.vidoc.mybatis.javaclient.ext.AnagraficheMapperExt;
import it.vidoc.mybatis.javamodel.Anagrafiche;
import it.vidoc.utils.MyBatisConnectionFactory;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;

public class SqlAnagrafiche {
	private String alberto = null;
	
	public SqlAnagrafiche() {
//		try {
//			MyBatisConnectionFactory.openSqlSessionFactory();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
	}
	
	public ArrayList<Anagrafiche> GetLimAnagrafiche(Integer offset, Integer maxNbOfRows) {
        MyBatisConnectionFactory.openSqlSession();
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
		AnagraficheMapperExt anagraficheMapperExt = sqlSession.getMapper(AnagraficheMapperExt.class);
		Map<String, Integer> param = new HashMap<String, Integer>();
		param.put("offset", offset);
		param.put("maxNbOfRows", maxNbOfRows);
		List<Anagrafiche> listAnag = anagraficheMapperExt.selectLimit(param);
		ArrayList<Anagrafiche> listAnagrafiche = new ArrayList<Anagrafiche>();
		for (int i = 0; i < listAnag.size(); i++) {
			listAnagrafiche.add(listAnag.get(i));
		}
		MyBatisConnectionFactory.closeSqlSession();
		return listAnagrafiche;
	}
	
	public Anagrafiche GetPKAnagrafiche(Integer pK) {
        MyBatisConnectionFactory.openSqlSession();
		SqlSession sqlSession = MyBatisConnectionFactory.getSqlSession();
		AnagraficheMapper anagraficheMapper = sqlSession.getMapper(AnagraficheMapper.class);
		Anagrafiche anagrafiche = new Anagrafiche();
		anagrafiche = anagraficheMapper.selectByPrimaryKey(pK);
		MyBatisConnectionFactory.closeSqlSession();
		return anagrafiche;
	}
}
	
